package com.zhongwang.mms.module.system.permission;


import com.zhongwang.mms.gen.entity.Permission;

import java.util.List;

/**
 * @Description: 权限 数据层
 *
 * @Author: China.sgl
 * @Date: 2019/9/16 09:11
 */
public interface PermissionDao {

    /**
     * 根据 用户ID 查询权限
     * @param id 用户ID
     * @return List
     */
    List<Permission> findPermissionsByUserId(Integer id);

    /**
     * 根据 权限码 查询权限
     * @param permissionName 权限码
     * @return 权限
     */
    Permission findByPermissionName(String permissionName);

    /**
     * 查询所有权限
     * @return List
     */
    List<PermissionModel> findAll();

    /**
     * 根据 角色ID 查询权限
     * @param id 角色ID
     * @return List
     */
    List<Permission> findPermissionsByRoleId(Integer id);

    /**
     * 根据条件查询权限
     * @param permission 权限条件
     * @return List
     */
    List<Permission> findPermissionAll(Permission permission);

    /**
     * 根据 pid 删除权限
     * @param id pid
     */
    void updateByPid(Integer id);
}